{ "cells": [ { "cell_type": "markdown", "id": "8fdf70be-07ed-4105-be25-12eab5ef4ae1", "metadata": { "tags": [] }, "source": [ "# Standalone with Detailed Downstream Modeling Example" ] }, { "cell_type": "code", "execution_count": 11, "id": "01f45f0b-eb97-4b73-9b4c-48468023b745", "metadata": { "tags": [] }, "outputs": [], "source": [ "from generation_models import StandaloneStorageModel, ACLosses, BaseSystemDesign, DownstreamSystem, MultiStorageInputs, BatteryParams, DARTPrices, Transformer\n", "from tyba_client.client import Client\n", "import numpy as np\n", "import pandas as pd\n", "import os" ] }, { "cell_type": "code", "execution_count": 3, "id": "41046b5b-b2c2-4360-80fb-5aaae1609b18", "metadata": { "tags": [] }, "outputs": [], "source": [ "client = Client(os.environ[\"TYBA_PAT\"])" ] }, { "cell_type": "markdown", "id": "8ae60ae6-a1e4-4ff0-ae5b-5f96de3d3897", "metadata": {}, "source": [ "## Build model, including DownstreamSystem" ] }, { "cell_type": "code", "execution_count": 12, "id": "65d861bb-b56c-43eb-90b6-15e4af6e3071", "metadata": { "tags": [] }, "outputs": [], "source": [ "model = StandaloneStorageModel(\n", " energy_prices=DARTPrices(\n", " dam=np.random.random(720).tolist(),\n", " rtm=np.random.random(720).tolist(),\n", " ),\n", " storage_inputs=MultiStorageInputs(\n", " batteries=[BatteryParams(\n", " power_capacity=2e3,\n", " energy_capacity=4e3 / 0.95,\n", " discharge_efficiency=0.95,\n", " charge_efficiency=0.05,\n", " degradation_rate=0.04,\n", " )],\n", " ),\n", " downstream_system=DownstreamSystem(\n", " losses=ACLosses(\n", " ac_wiring=0.015,\n", " transmission=0.012,\n", " mv_transformer=Transformer(load_loss=0.01, no_load_loss=0.003),\n", " hv_transformer=Transformer(load_loss=0.009, no_load_loss=0.004),\n", " ),\n", " system_design=BaseSystemDesign(dc_capacity=2e3, ac_capacity=2.5e3, poi_limit=2e3),\n", " model_losses_from=\"DC\",\n", " inverter=\"SMA America: SWR2500U [240V]\",\n", " ),\n", " project_term=720,\n", " project_term_units=\"hours\",\n", ")" ] }, { "cell_type": "markdown", "id": "9d108e88-cc6b-42e1-bbbd-86db5276a1f7", "metadata": {}, "source": [ "## Run model" ] }, { "cell_type": "code", "execution_count": 13, "id": "33c9642d-22a5-435b-a634-7976236d2a20", "metadata": { "tags": [] }, "outputs": [], "source": [ "resp = client.schedule(model)" ] }, { "cell_type": "code", "execution_count": 15, "id": "5e56c7c2-08a2-49c6-8b41-5f09eef907ea", "metadata": { "tags": [] }, "outputs": [], "source": [ "id_ = resp.json()[\"id\"]" ] }, { "cell_type": "code", "execution_count": 17, "id": "e9ca915a-6e74-4563-bf82-0bb23c25f5a6", "metadata": { "tags": [] }, "outputs": [], "source": [ "res = client.wait_on_result(id_)" ] }, { "cell_type": "markdown", "id": "3ce8a57e-5105-44ed-882a-427e347d31ec", "metadata": {}, "source": [ "## Check out results" ] }, { "cell_type": "code", "execution_count": 25, "id": "d65fcfdd-5d72-4dbf-b870-8dbeccf7ccf9", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "dict_keys(['system', 'optimizer_outputs', 'market_awards'])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.keys()" ] }, { "cell_type": "code", "execution_count": 19, "id": "59f72620-f343-4051-a86d-aeb6b3fea970", "metadata": { "tags": [] }, "outputs": [], "source": [ "system, optimizer, awards = (pd.DataFrame(v) for v in res.values())" ] }, { "cell_type": "code", "execution_count": 22, "id": "eb751dc4-3bfd-4dfb-820f-4cb2559441d2", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>hv_xfmr_no_load_loss</th>\n", " <th>gen</th>\n", " <th>gross_ac_power</th>\n", " <th>positive_poi</th>\n", " <th>mv_xfmr_load_loss</th>\n", " <th>dc_power</th>\n", " <th>inverter_consumption_loss</th>\n", " <th>poi</th>\n", " <th>hv_ac_power</th>\n", " <th>transmission_loss</th>\n", " <th>hv_xfmr_load_loss</th>\n", " <th>negative_poi</th>\n", " <th>dc_voltage</th>\n", " <th>hv_xfmr_loss</th>\n", " <th>inverter_tare_loss</th>\n", " <th>transformer_loss</th>\n", " <th>inverter_parasitic_loss</th>\n", " <th>mv_xfmr_loss</th>\n", " <th>inverter_clipping_loss</th>\n", " <th>poi_unadjusted</th>\n", " <th>inverter_efficiency</th>\n", " <th>pre_hvac_ac_power</th>\n", " <th>ac_power</th>\n", " <th>max_mv_power</th>\n", " <th>mv_xfmr_no_load_loss</th>\n", " <th>ac_wiring_loss</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>715</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>716</th>\n", " <td>8.0</td>\n", " <td>-2056.54405</td>\n", " <td>-2143.152745</td>\n", " <td>0.00000</td>\n", " <td>22.965518</td>\n", " <td>-2000.0</td>\n", " <td>5.630538</td>\n", " <td>-2056.54405</td>\n", " <td>-2056.544050</td>\n", " <td>0.000000</td>\n", " <td>18.544050</td>\n", " <td>-2056.54405</td>\n", " <td>300.0</td>\n", " <td>26.544050</td>\n", " <td>0.00</td>\n", " <td>26.544050</td>\n", " <td>0.00</td>\n", " <td>28.965518</td>\n", " <td>0.0</td>\n", " <td>-2056.54405</td>\n", " <td>0.933205</td>\n", " <td>-2000.0</td>\n", " <td>-2000.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>30.000</td>\n", " </tr>\n", " <tr>\n", " <th>717</th>\n", " <td>8.0</td>\n", " <td>84.50917</td>\n", " <td>70.482314</td>\n", " <td>84.50917</td>\n", " <td>0.024839</td>\n", " <td>95.0</td>\n", " <td>20.973224</td>\n", " <td>84.50917</td>\n", " <td>85.535597</td>\n", " <td>1.026427</td>\n", " <td>0.039403</td>\n", " <td>0.00000</td>\n", " <td>300.0</td>\n", " <td>8.039403</td>\n", " <td>0.00</td>\n", " <td>8.039403</td>\n", " <td>0.00</td>\n", " <td>6.024839</td>\n", " <td>0.0</td>\n", " <td>84.50917</td>\n", " <td>0.741919</td>\n", " <td>95.0</td>\n", " <td>95.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>1.425</td>\n", " </tr>\n", " <tr>\n", " <th>718</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " <tr>\n", " <th>719</th>\n", " <td>8.0</td>\n", " <td>-8.00000</td>\n", " <td>-0.750000</td>\n", " <td>0.00000</td>\n", " <td>0.000003</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>-8.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>-8.00000</td>\n", " <td>0.0</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>8.000000</td>\n", " <td>0.75</td>\n", " <td>6.000003</td>\n", " <td>0.0</td>\n", " <td>-8.00000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>1842.991784</td>\n", " <td>6.0</td>\n", " <td>0.000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>720 rows × 26 columns</p>\n", "</div>" ], "text/plain": [ " hv_xfmr_no_load_loss gen ... mv_xfmr_no_load_loss ac_wiring_loss\n", "0 8.0 -8.00000 ... 6.0 0.000\n", "1 8.0 -8.00000 ... 6.0 0.000\n", "2 8.0 -8.00000 ... 6.0 0.000\n", "3 8.0 -8.00000 ... 6.0 0.000\n", "4 8.0 -8.00000 ... 6.0 0.000\n", ".. ... ... ... ... ...\n", "715 8.0 -8.00000 ... 6.0 0.000\n", "716 8.0 -2056.54405 ... 6.0 30.000\n", "717 8.0 84.50917 ... 6.0 1.425\n", "718 8.0 -8.00000 ... 6.0 0.000\n", "719 8.0 -8.00000 ... 6.0 0.000\n", "\n", "[720 rows x 26 columns]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "system # analogous to the usual solar_storage" ] }, { "cell_type": "code", "execution_count": 23, "id": "378d2901-8477-4daa-9c11-e8c7af386730", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>storage_discharge_max</th>\n", " <th>charge_lo</th>\n", " <th>negative_dam_base_point</th>\n", " <th>soe_lo</th>\n", " <th>export_limit_at_coupling</th>\n", " <th>soe_mean</th>\n", " <th>nominal_hvac_load</th>\n", " <th>dam_price</th>\n", " <th>rtm_base_point</th>\n", " <th>discharge_actual</th>\n", " <th>total_output</th>\n", " <th>soe_hi</th>\n", " <th>output</th>\n", " <th>dam_charge</th>\n", " <th>charge</th>\n", " <th>charge_hi</th>\n", " <th>soe_actual</th>\n", " <th>discharge_efficiency</th>\n", " <th>discharge</th>\n", " <th>battery_output</th>\n", " <th>charge_actual</th>\n", " <th>discharge_lo</th>\n", " <th>import_limit_at_coupling</th>\n", " <th>dam_base_point</th>\n", " <th>internal_energy</th>\n", " <th>rtm_price</th>\n", " <th>internal_energy_max</th>\n", " <th>charge_efficiency</th>\n", " <th>dam_discharge</th>\n", " <th>rtm_charge</th>\n", " <th>discharge_hi</th>\n", " <th>hvac_load</th>\n", " <th>rtm_discharge</th>\n", " <th>soe_lo_hb</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.140269</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.448188</td>\n", " <td>4210.526316</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.381499</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.986922</td>\n", " <td>4210.526316</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.973503</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.532283</td>\n", " <td>4210.526316</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.309717</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.514577</td>\n", " <td>4210.526316</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.528634</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.681771</td>\n", " <td>4210.526316</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>715</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.914586</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.729848</td>\n", " <td>4210.089534</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>716</th>\n", " <td>2000.0</td>\n", " <td>2000.0</td>\n", " <td>2000.0</td>\n", " <td>100.0</td>\n", " <td>None</td>\n", " <td>50.0</td>\n", " <td>0.0</td>\n", " <td>0.016358</td>\n", " <td>-2000.0</td>\n", " <td>0.0</td>\n", " <td>-2000.0</td>\n", " <td>100.0</td>\n", " <td>-2000.0</td>\n", " <td>2000.0</td>\n", " <td>2000.0</td>\n", " <td>2000.0</td>\n", " <td>100.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>-2000.0</td>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>-2000.0</td>\n", " <td>100.0</td>\n", " <td>0.797364</td>\n", " <td>4210.089534</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>717</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>-95.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>50.0</td>\n", " <td>0.0</td>\n", " <td>0.662193</td>\n", " <td>95.0</td>\n", " <td>95.0</td>\n", " <td>95.0</td>\n", " <td>0.0</td>\n", " <td>95.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>95.0</td>\n", " <td>95.0</td>\n", " <td>0.0</td>\n", " <td>95.0</td>\n", " <td>None</td>\n", " <td>95.0</td>\n", " <td>0.0</td>\n", " <td>0.909171</td>\n", " <td>4210.089534</td>\n", " <td>0.05</td>\n", " <td>95.0</td>\n", " <td>0.0</td>\n", " <td>95.0</td>\n", " <td>0.0</td>\n", " <td>95.0</td>\n", " <td>100.0</td>\n", " </tr>\n", " <tr>\n", " <th>718</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.206303</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.947974</td>\n", " <td>4210.089534</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>719</th>\n", " <td>2000.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.134326</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.95</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>None</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.074833</td>\n", " <td>4210.089534</td>\n", " <td>0.05</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>720 rows × 34 columns</p>\n", "</div>" ], "text/plain": [ " storage_discharge_max charge_lo ... rtm_discharge soe_lo_hb\n", "0 2000.0 0.0 ... 0.0 0.0\n", "1 2000.0 0.0 ... 0.0 0.0\n", "2 2000.0 0.0 ... 0.0 0.0\n", "3 2000.0 0.0 ... 0.0 0.0\n", "4 2000.0 0.0 ... 0.0 0.0\n", ".. ... ... ... ... ...\n", "715 2000.0 0.0 ... 0.0 0.0\n", "716 2000.0 2000.0 ... 0.0 0.0\n", "717 2000.0 0.0 ... 95.0 100.0\n", "718 2000.0 0.0 ... 0.0 0.0\n", "719 2000.0 0.0 ... 0.0 0.0\n", "\n", "[720 rows x 34 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimizer # same as in hybrid" ] }, { "cell_type": "code", "execution_count": 24, "id": "36fe8abe-a63e-410a-b7a5-6e3694897eab", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>negative_dam_base_point</th>\n", " <th>rtm_base_point</th>\n", " <th>rt_tare</th>\n", " <th>discharge_actual</th>\n", " <th>total_output</th>\n", " <th>dam_charge</th>\n", " <th>charge</th>\n", " <th>discharge</th>\n", " <th>charge_actual</th>\n", " <th>dam_base_point</th>\n", " <th>dam_discharge</th>\n", " <th>rtm_charge</th>\n", " <th>rtm_discharge</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>715</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>716</th>\n", " <td>2056.54405</td>\n", " <td>-2056.54405</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>-2056.54405</td>\n", " <td>2056.54405</td>\n", " <td>2056.54405</td>\n", " <td>0.00000</td>\n", " <td>2000.0</td>\n", " <td>-2056.54405</td>\n", " <td>0.00000</td>\n", " <td>2056.54405</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>717</th>\n", " <td>-84.50917</td>\n", " <td>84.50917</td>\n", " <td>0.0</td>\n", " <td>95.0</td>\n", " <td>84.50917</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>84.50917</td>\n", " <td>0.0</td>\n", " <td>84.50917</td>\n", " <td>84.50917</td>\n", " <td>0.00000</td>\n", " <td>84.50917</td>\n", " </tr>\n", " <tr>\n", " <th>718</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " <tr>\n", " <th>719</th>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>-8.0</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.0</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " <td>0.00000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>720 rows × 13 columns</p>\n", "</div>" ], "text/plain": [ " negative_dam_base_point rtm_base_point ... rtm_charge rtm_discharge\n", "0 0.00000 0.00000 ... 0.00000 0.00000\n", "1 0.00000 0.00000 ... 0.00000 0.00000\n", "2 0.00000 0.00000 ... 0.00000 0.00000\n", "3 0.00000 0.00000 ... 0.00000 0.00000\n", "4 0.00000 0.00000 ... 0.00000 0.00000\n", ".. ... ... ... ... ...\n", "715 0.00000 0.00000 ... 0.00000 0.00000\n", "716 2056.54405 -2056.54405 ... 2056.54405 0.00000\n", "717 -84.50917 84.50917 ... 0.00000 84.50917\n", "718 0.00000 0.00000 ... 0.00000 0.00000\n", "719 0.00000 0.00000 ... 0.00000 0.00000\n", "\n", "[720 rows x 13 columns]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "awards # optimizer results after offer correction" ] }, { "cell_type": "code", "execution_count": null, "id": "babc5329-3137-4748-9931-f7319e35bd26", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 5 }